From: Jasper St. Pierre Date: Fri, 19 Apr 2013 15:46:06 +0000 (-0400) Subject: messageTray: Use a PopupMenuManager for the message tray context menu X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~3754 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=f5c0706c2e66926e2954696c6f771b6c582dfb7c;p=gnome-shell.git messageTray: Use a PopupMenuManager for the message tray context menu https://bugzilla.gnome.org/show_bug.cgi?id=699272 --- diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index 534bfd805..ab1fa64ac 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -1766,6 +1766,8 @@ const MessageTray = new Lang.Class({ this._updateNoMessagesLabel(); this._contextMenu = new MessageTrayContextMenu(this); + this._contextMenuManager = new PopupMenu.PopupMenuManager({ actor: this.actor }); + this._contextMenuManager.addMenu(this._contextMenu); let clickAction = new Clutter.ClickAction(); this.actor.add_action(clickAction); @@ -1774,8 +1776,6 @@ const MessageTray = new Lang.Class({ let button = action.get_button(); if (button == 3) this._openContextMenu(); - if (button == 1 && this._contextMenu.isOpen) - this._grabHelper.ungrab({ actor: this._contextMenu.actor }); })); clickAction.connect('long-press', Lang.bind(this, function(action, actor, state) { @@ -1792,11 +1792,6 @@ const MessageTray = new Lang.Class({ _openContextMenu: function () { let [x, y, mask] = global.get_pointer(); this._contextMenu.setPosition(Math.round(x), Math.round(y)); - this._grabHelper.grab({ actor: this._contextMenu.actor, - onUngrab: Lang.bind(this, function () { - this._contextMenu.close(BoxPointer.PopupAnimation.FULL); - }) - }); this._contextMenu.open(BoxPointer.PopupAnimation.FULL); },